JDK: 1.8
SpringBoot: 1.5.10.RELEASE
SpringBoot 使用一个全局的配置文件,配置文件名是固定的:
- application.properties
- application.yml
配置文件的作用:修改 SpringBoot 自动配置的默认值
YAML
YAML : YAML Ain’t Markup Language
YAML :A Markup Language
YAML : isn’t Markup Language
YAML 是以数据为中心,更适合做配置文件,官方网站:http://www.yaml.org
YAML 语法
- 使用缩进表示层级关系
- 缩进时不允许使用 Tab键,只允许使用空格
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
- 大小写敏感
YAML 支持的数据结构
- 对象:键值对的集合
- 数组:一组按次序排列的值
- 字面量:单个的,不可再分的值
字面量
字面量,即普通的值(数字、字符串、布尔)
其中字符串默认不用加上单引号或者双引号,若使用双引号或单引号是有特殊含义的:
- 双引号:不转义字符串里面的特殊字符串,若字符串中存在 \n 换行符,此时会换行
- 单引号:转义字符串里面的特殊字符串,若字符串中存在 \n 换行符,此时不会换行,将当做普通字符串
对象
默认格式:
1 | user: |
单行格式:
1 | user: {name: tom, age: 20} |
数组
用 短线表示数组中的一个元素
默认格式:
1 | car: |
单行格式:
1 | car: [BMW, Audi, Ford] |
YAML 配置提示
YAML 文件中为了方便配置,可以引入如下依赖,对配置属性进行提示:
1 | <dependency> |
YAML 示例
1 | public class Dog { |
1 |
|
1 | person: |
person toString
1 | Person{name=' 张三', age=28, boss=false, birthday=Sun Feb 11 00:00:00 CST 2018, list=[list1, list2, list3], map={key1=value1, key2=value2, key3=value3}, dog=Dog{name='wangwang', age=4}} |
YAML 默认编码集是 UTF-8,故中文不乱码